package io.geekidea.boot.inventorychange.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@ToString
public class StoreChangeDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @TableField(value = "warehouseentrynumber")
    private String warehouseentrynumber;

    @TableField(value = "materialcode")
    private String materialcode;

    @TableField(value = "materialsnmark")
    private String materialsnmark;

    @TableField(value = "nameofmaterial")
    private String nameofmaterial;

    @TableField(value = "materialswarehouse")
    private String materialswarehouse;

    @TableField(value = "typeofchange")
    private String typeofchange;

    @TableField(value = "changebehavior")
    private String changebehavior;

    @TableField(value = "quantityofchange")
    private String quantityofchange;

    @TableField(value = "quantityinstock")
    private String quantityinstock;

    @TableField(value = "availablestock")
    private String availablestock;

    @TableField(value = "lockininventory")
    private String lockininventory;

    @TableField(value = "timeofchange")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8",shape = JsonFormat.Shape.STRING)
    private LocalDateTime timeofchange;

    @TableField(value = "areaname_fk")
    private Integer areanameFk;

    @TableField(value = "storename_fk")
    private Integer storenameFk;

    @TableField(value = "odd")
    private String odd;

    @TableField("createdBy")
    private String createdBy;

    @TableField("updatedBy")
    private String updatedBy;

    @TableField(exist = false)
    private String areaName;

    @TableField(exist = false)
    private String storeName;
}
